# 最低CMake版本（与主目录一致）
cmake_minimum_required(VERSION 3.10)
# 子项目名称（标识intro模块）
project(APUE_Intro LANGUAGES C)

# -------------------------- 基础配置 --------------------------
# 继承C标准（与主目录一致）
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_STANDARD_REQUIRED ON)

# 包含头文件目录（需要引用 include/apue.h）
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../include)

# 可执行程序输出目录（继承主目录配置，或显式指定到 build/intro）
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/intro)

# -------------------------- 编译intro下的可执行程序 --------------------------
# 1. 编译 hello.c -> hello
add_executable(hello hello.c)
# 链接 libapue.a 库（依赖 lib 目录生成的 apue 目标）
target_link_libraries(hello PRIVATE apue)

# 2. 编译 shell1.c -> shell1
add_executable(shell1 shell1.c)
target_link_libraries(shell1 PRIVATE apue)

# （可选）如果后续intro新增程序（如 ls1.c），直接追加：
# add_executable(ls1 ls1.c)
# target_link_libraries(ls1 PRIVATE apue)